home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / lp.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  4KB  |  101 lines

  1. #ifndef _LINUX_LP_H
  2. #define _LINUX_LP_H
  3.  
  4. /*
  5.  * usr/include/linux/lp.h c.1991-1992 James Wiegand
  6.  * many modifications copyright (C) 1992 Michael K. Johnson
  7.  * Interrupt support added 1993 Nigel Gamble
  8.  * Removed 8255 status defines from inside __KERNEL__ Marcelo Tosatti 
  9.  */
  10.  
  11. /*
  12.  * Per POSIX guidelines, this module reserves the LP and lp prefixes
  13.  * These are the lp_table[minor].flags flags...
  14.  */
  15. #define LP_EXIST 0x0001
  16. #define LP_SELEC 0x0002
  17. #define LP_BUSY     0x0004
  18. #define LP_BUSY_BIT_POS 2
  19. #define LP_OFFL     0x0008
  20. #define LP_NOPA  0x0010
  21. #define LP_ERR   0x0020
  22. #define LP_ABORT 0x0040
  23. #define LP_CAREFUL 0x0080 /* obsoleted -arca */
  24. #define LP_ABORTOPEN 0x0100
  25.  
  26. #define LP_TRUST_IRQ_  0x0200 /* obsolete */
  27. #define LP_NO_REVERSE  0x0400 /* No reverse mode available. */
  28. #define LP_DATA_AVAIL  0x0800 /* Data is available. */
  29.  
  30. /* 
  31.  * bit defines for 8255 status port
  32.  * base + 1
  33.  * accessed with LP_S(minor), which gets the byte...
  34.  */
  35. #define LP_PBUSY    0x80  /* inverted input, active high */
  36. #define LP_PACK        0x40  /* unchanged input, active low */
  37. #define LP_POUTPA    0x20  /* unchanged input, active high */
  38. #define LP_PSELECD    0x10  /* unchanged input, active high */
  39. #define LP_PERRORP    0x08  /* unchanged input, active low */
  40.  
  41. /* timeout for each character.  This is relative to bus cycles -- it
  42.  * is the count in a busy loop.  THIS IS THE VALUE TO CHANGE if you
  43.  * have extremely slow printing, or if the machine seems to slow down
  44.  * a lot when you print.  If you have slow printing, increase this
  45.  * number and recompile, and if your system gets bogged down, decrease
  46.  * this number.  This can be changed with the tunelp(8) command as well.
  47.  */
  48.  
  49. #define LP_INIT_CHAR 1000
  50.  
  51. /* The parallel port specs apparently say that there needs to be
  52.  * a .5usec wait before and after the strobe.
  53.  */
  54.  
  55. #define LP_INIT_WAIT 1
  56.  
  57. /* This is the amount of time that the driver waits for the printer to
  58.  * catch up when the printer's buffer appears to be filled.  If you
  59.  * want to tune this and have a fast printer (i.e. HPIIIP), decrease
  60.  * this number, and if you have a slow printer, increase this number.
  61.  * This is in hundredths of a second, the default 2 being .05 second.
  62.  * Or use the tunelp(8) command, which is especially nice if you want
  63.  * change back and forth between character and graphics printing, which
  64.  * are wildly different...
  65.  */
  66.  
  67. #define LP_INIT_TIME 2
  68.  
  69. /* IOCTL numbers */
  70. #define LPCHAR   0x0601  /* corresponds to LP_INIT_CHAR */
  71. #define LPTIME   0x0602  /* corresponds to LP_INIT_TIME */
  72. #define LPABORT  0x0604  /* call with TRUE arg to abort on error,
  73.                 FALSE to retry.  Default is retry.  */
  74. #define LPSETIRQ 0x0605  /* call with new IRQ number,
  75.                 or 0 for polling (no IRQ) */
  76. #define LPGETIRQ 0x0606  /* get the current IRQ number */
  77. #define LPWAIT   0x0608  /* corresponds to LP_INIT_WAIT */
  78. /* NOTE: LPCAREFUL is obsoleted and it' s always the default right now -arca */
  79. #define LPCAREFUL   0x0609  /* call with TRUE arg to require out-of-paper, off-
  80.                 line, and error indicators good on all writes,
  81.                 FALSE to ignore them.  Default is ignore. */
  82. #define LPABORTOPEN 0x060a  /* call with TRUE arg to abort open() on error,
  83.                 FALSE to ignore error.  Default is ignore.  */
  84. #define LPGETSTATUS 0x060b  /* return LP_S(minor) */
  85. #define LPRESET     0x060c  /* reset printer */
  86. #ifdef LP_STATS
  87. #define LPGETSTATS  0x060d  /* get statistics (struct lp_stats) */
  88. #endif
  89. #define LPGETFLAGS  0x060e  /* get status flags */
  90. #define LPSETTIMEOUT 0x060f /* set parport timeout */
  91.  
  92. /* timeout for printk'ing a timeout, in jiffies (100ths of a second).
  93.    This is also used for re-checking error conditions if LP_ABORT is
  94.    not set.  This is the default behavior. */
  95.  
  96. #define LP_TIMEOUT_INTERRUPT    (60 * HZ)
  97. #define LP_TIMEOUT_POLLED    (10 * HZ)
  98.  
  99.  
  100. #endif
  101.